package com.tensquare.notice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tensquare.notice.pojo.TbNotice;
import com.tensquare.notice.pojo.TbNoticeFresh;

/**
 * <p>
 * 文章 服务类
 * </p>
 *
 * @author XXX
 * @since 2022-11-09
 */
public interface ITbNoticeService extends IService<TbNotice> {

    /**
     * 删除待推送消息（新消息）
     * @param noticeFresh
     */
    void freshDelete(TbNoticeFresh noticeFresh);

    /**
     * 根据用户Id来查询该用户的带推送消息（新消息）
     * @param userId
     * @param page
     * @param size
     * @return
     */
    Page<TbNoticeFresh> freshPage(String userId, Integer page, Integer size);

    /**
     * 新增通知和提醒新通知
     * @param notice
     * @return
     */
    void saveNoticeAndNoticeFresh(TbNotice notice);

    /**
     * 根据条件分页查询消息通知
     * @param notice
     * @param page
     * @param size
     * @return
     */
    Page<TbNotice> selectByList(TbNotice notice, Integer page, Integer size);

    /**
     * 根据消息Id查询消息通知
     * @param id
     * @return
     */
    TbNotice selectById(String id);


   
}
